MoveAxisVelocity

下達一個永遠照特定速度移動之運動指令。

語法

KsCommandStatus MoveAxisVelocity(
     int Index,
     double Velocity,
     double Acceleration,
     double Deceleration,
     double Jerk,
     McDirection Direction,
     McBufferMode BufferMode
);

參數

Index [in]:軸索引。索引以零為起點;別名將影響此參數。

Velocity [in]:指定速度的值,[單位/秒]。

Acceleration [in]:加速度值,單位由 McProfileType 類型決定,(馬達的增加能源) [單位/秒2] 或 [秒]。

Deceleration [in]:減速度值,單位由 McProfileType 類型決定,(馬達的減少能源) [單位/秒2] 或 [秒]。

Jerk [in]:加加速度值,單位由 McProfileType 類型決定,為 [單位/秒3] 或 [秒]。

Direction [in]:軸移動的方向,請見 McDirection 類型(不適用 mcShortestWay)。

BufferMode [in]:定義如何融合兩功能的速度,請見 McBufferMode 類型。

回傳值

返回 KsCommandStatus 結構。

備註

範例

VOID RecordPosition(INT Index, DOUBLE Velocity, McDirection Direction) {
   double PosRecord = 0;

   //Configure the probe
   McProbeTrigger ProbeTrigger = { 0 };
   ProbeTrigger.TouchProbeId = 0;
   ProbeTrigger.Software = FALSE;
   ProbeTrigger.IndexPulse = TRUE;
   ProbeTrigger.Edge = TRUE;
   ProbeTrigger.AxisSwitch = FALSE;
   ProbeTrigger.Index = 0;
   ProbeTrigger.Offset = 0;
   KsCommandStatus probe = SetAxisTouchProbe(Index, ProbeTrigger, FALSE, 0, 0, &PosRecord);

   //Start moving
   MoveAxisVelocity(Index, Velocity, 36000, 36000, 3600000, Direction, mcAborting);

   //Wait for the position to be recorded
   probe = WaitForCommand(30, TRUE, probe);

   RtPrintf("Recorded position: %d\n", (int)PosRecord);
   WaitForCommand(30, TRUE, HaltAxis(Index, 36000, 3600000, mcAborting));
}

使用需求

  RT Win32
最低支援版本 4.0 4.0
標頭檔 ksmotion.h ksmotion.h
程式庫 KsApi_Rtss.lib KsApi.lib

參見

MoveAxisAbsolute

MoveAxisAdditive

MoveAxisRelative